using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("GhostCard")]
	public class GhostCard : MonoBehaviour
	{
		public enum Type
		{
			NONE,
			MISSING_UNCRAFTABLE,
			MISSING,
			NOT_VALID
		}

		public Actor m_Actor => method_3<Actor>("m_Actor");

		public Vector3 m_CardOffset => method_2<Vector3>("m_CardOffset");

		public RenderToTexture m_R2T_EffectGhost => method_3<RenderToTexture>("m_R2T_EffectGhost");

		public GameObject m_EffectRoot => method_3<GameObject>("m_EffectRoot");

		public GameObject m_GlowPlane => method_3<GameObject>("m_GlowPlane");

		public GameObject m_GlowPlaneElite => method_3<GameObject>("m_GlowPlaneElite");

		public static GhostStyleDef s_ghostStyles => MonoClass.smethod_7<GhostStyleDef>(TritonHs.MainAssemblyPath, "", "GhostCard", "s_ghostStyles");

		public bool m_isBigCard => method_2<bool>("m_isBigCard");

		public bool m_Init => method_2<bool>("m_Init");

		public RenderToTexture m_R2T_BaseCard => method_3<RenderToTexture>("m_R2T_BaseCard");

		public Type m_ghostType => method_2<Type>("m_ghostType");

		public int m_renderQueue => method_2<int>("m_renderQueue");

		public GameObject m_CardMesh => method_3<GameObject>("m_CardMesh");

		public int m_CardFrontIdx => method_2<int>("m_CardFrontIdx");

		public int m_PremiumRibbonIdx => method_2<int>("m_PremiumRibbonIdx");

		public GameObject m_PortraitMesh => method_3<GameObject>("m_PortraitMesh");

		public int m_PortraitFrameIdx => method_2<int>("m_PortraitFrameIdx");

		public GameObject m_NameMesh => method_3<GameObject>("m_NameMesh");

		public GameObject m_DescriptionMesh => method_3<GameObject>("m_DescriptionMesh");

		public GameObject m_DescriptionTrimMesh => method_3<GameObject>("m_DescriptionTrimMesh");

		public GameObject m_RarityFrameMesh => method_3<GameObject>("m_RarityFrameMesh");

		public GameObject m_ManaCostMesh => method_3<GameObject>("m_ManaCostMesh");

		public GameObject m_AttackMesh => method_3<GameObject>("m_AttackMesh");

		public GameObject m_HealthMesh => method_3<GameObject>("m_HealthMesh");

		public GameObject m_RacePlateMesh => method_3<GameObject>("m_RacePlateMesh");

		public GameObject m_EliteMesh => method_3<GameObject>("m_EliteMesh");

		public Material m_OrgMat_CardFront => method_3<Material>("m_OrgMat_CardFront");

		public Material m_OrgMat_PremiumRibbon => method_3<Material>("m_OrgMat_PremiumRibbon");

		public Material m_OrgMat_PortraitFrame => method_3<Material>("m_OrgMat_PortraitFrame");

		public Material m_OrgMat_Name => method_3<Material>("m_OrgMat_Name");

		public Material m_OrgMat_Description => method_3<Material>("m_OrgMat_Description");

		public Material m_OrgMat_Description2 => method_3<Material>("m_OrgMat_Description2");

		public Material m_OrgMat_DescriptionTrim => method_3<Material>("m_OrgMat_DescriptionTrim");

		public Material m_OrgMat_RarityFrame => method_3<Material>("m_OrgMat_RarityFrame");

		public Material m_OrgMat_ManaCost => method_3<Material>("m_OrgMat_ManaCost");

		public Material m_OrgMat_Attack => method_3<Material>("m_OrgMat_Attack");

		public Material m_OrgMat_Health => method_3<Material>("m_OrgMat_Health");

		public Material m_OrgMat_RacePlate => method_3<Material>("m_OrgMat_RacePlate");

		public Material m_OrgMat_Elite => method_3<Material>("m_OrgMat_Elite");

		public GhostCard(IntPtr address, string className)
			: base(address, className)
		{
		}

		public GhostCard(IntPtr address)
			: this(address, "GhostCard")
		{
		}

		public static Type GetGhostTypeFromSlot(CollectionDeck deck, CollectionDeckSlot slot)
		{
			return MonoClass.smethod_14<Type>(TritonHs.MainAssemblyPath, "", "GhostCard", "GetGhostTypeFromSlot", new object[2] { deck, slot });
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDisable()
		{
			method_8("OnDisable");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void SetBigCard(bool isBigCard)
		{
			method_8("SetBigCard", isBigCard);
		}

		public void SetGhostType(Type ghostType)
		{
			method_8("SetGhostType", ghostType);
		}

		public void SetRenderQueue(int renderQueue)
		{
			method_8("SetRenderQueue", renderQueue);
		}

		public void RenderGhostCard()
		{
			method_9("RenderGhostCard", new Class276.Enum20[0]);
		}

		public void RenderGhostCard(bool forceRender)
		{
			method_9("RenderGhostCard", new Class276.Enum20[1] { Class276.Enum20.Boolean }, forceRender);
		}

		public void Reset()
		{
			method_8("Reset");
		}

		public void RenderGhost()
		{
			method_9("RenderGhost", new Class276.Enum20[0]);
		}

		public void RenderGhost(bool forceRender)
		{
			method_9("RenderGhost", new Class276.Enum20[1] { Class276.Enum20.Boolean }, forceRender);
		}

		public void DisableGhost()
		{
			method_8("DisableGhost");
		}

		public void Init(bool forceRender)
		{
			method_8("Init", forceRender);
		}

		public void StoreOrgMaterials()
		{
			method_8("StoreOrgMaterials");
		}

		public void RestoreOrgMaterials()
		{
			method_8("RestoreOrgMaterials");
		}

		public void ApplyGhostMaterials()
		{
			method_8("ApplyGhostMaterials");
		}

		public void ApplyMaterial(GameObject go, Material mat)
		{
			method_8("ApplyMaterial", go, mat);
		}

		public void ApplyMaterialByIdx(GameObject go, Material mat, int idx)
		{
			method_8("ApplyMaterialByIdx", go, mat, idx);
		}

		public void ApplySharedMaterialByIdx(GameObject go, Material mat, int idx)
		{
			method_8("ApplySharedMaterialByIdx", go, mat, idx);
		}

		public void Disable()
		{
			method_8("Disable");
		}
	}
}
